Skip to content

refactor: refactor the release workflow's test job to use a GitHub Actions matrix strategy, running PostgreSQL 14-18 tests in parallel instead of sequentially.#432

Merged
tianzhou merged 4 commits into
pgplex:mainfrom
NFUChen:ci/matrix-improvements
May 30, 2026

Conversation

@NFUChen
Copy link
Copy Markdown
Contributor

@NFUChen NFUChen commented May 14, 2026

Summary

Refactor the release workflow's test job to use a GitHub Actions matrix strategy, running PostgreSQL 14-18 tests in parallel instead of sequentially.

Changes

  • .github/workflows/release.yml: Replace 5 sequential test steps (one per PG version) with a single matrix-based job that runs all versions in parallel using fail-fast: false.

Benefits

  • Faster CI: All 5 PostgreSQL versions test concurrently instead of one after another.
  • Cleaner config: Removes ~20 lines of duplicated step definitions.
  • Better visibility: Each PG version appears as a separate matrix entry in the GitHub Actions UI, making failures easier to identify.

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented May 14, 2026

Greptile Summary

This PR updates the CI and release test workflows to run PostgreSQL coverage through matrix jobs. The main changes are:

  • Split PR checks into separate short unit tests and PostgreSQL integration tests.
  • Added a PostgreSQL 14-18 matrix for CI integration tests.
  • Converted release tests from sequential PostgreSQL steps into a parallel matrix.

Confidence Score: 5/5

This looks safe to merge.

  • No blocking issues found in the changed workflow code.

Reviews (1): Last reviewed commit: "fix: ensure integration tests depend on ..." | Re-trigger Greptile

@NFUChen NFUChen changed the title Ci/matrix improvements Refactor the release workflow's test job to use a GitHub Actions matrix strategy, running PostgreSQL 14-18 tests in parallel instead of sequentially. May 14, 2026
@NFUChen NFUChen changed the title Refactor the release workflow's test job to use a GitHub Actions matrix strategy, running PostgreSQL 14-18 tests in parallel instead of sequentially. refactor: refactor the release workflow's test job to use a GitHub Actions matrix strategy, running PostgreSQL 14-18 tests in parallel instead of sequentially. May 14, 2026
@tianzhou
Copy link
Copy Markdown
Contributor

Have you tried? The test are heavyweight, running in parallel might exhaust the test container resource

@NFUChen
Copy link
Copy Markdown
Contributor Author

NFUChen commented May 14, 2026

Have you tried? The test are heavyweight, running in parallel might exhaust the test container resource

Yes, it works in my forked repo, see job

@tianzhou
Copy link
Copy Markdown
Contributor

Thanks for confirming.

Copy link
Copy Markdown
Contributor

@tianzhou tianzhou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@tianzhou tianzhou merged commit e06ed06 into pgplex:main May 30, 2026
1 check passed
@NFUChen NFUChen deleted the ci/matrix-improvements branch June 3, 2026 12:30
NFUChen added a commit to NFUChen/pgschema that referenced this pull request Jun 3, 2026
* refactor: refactor the release workflow's test job to use a GitHub Actions matrix strategy, running PostgreSQL 14-18 tests in parallel instead of sequentially. (pgplex#432)

* refactor: streamline CI workflows for unit and integration tests with matrix strategy

* fix: ensure integration tests depend on unit tests in CI workflow

* refactor: consolidate unit and integration tests into a single CI job

* revert: undo unnecessary trailing newline change in ci-test.yml

---------

Co-authored-by: William Chen <william_w_chen@trendmicro.com>

* feat: add validation for file extensions in apply command (pgplex#434)

Co-authored-by: William Chen <william_w_chen@trendmicro.com>

* Add support for indexes section in .pgschemaignore (pgplex#441)

Adds a new [indexes] section to .pgschemaignore that lets users
preserve indexes which exist in the database but are not declared
in their .sql files. Without this, manually-added indexes (e.g.
perf hotfixes) are flagged for drop by `pgschema plan`.

Mirrors the existing per-object pattern: `Indexes []string` on
`IgnoreConfig` with `ShouldIgnoreIndex(name)`, an
`IndexIgnoreConfig` struct on `TomlConfig`, and a filter in
`Inspector.buildIndexes` that skips ignored index names before
they enter the IR.

Fixes pgplex#406

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix: preserve length modifier in varchar(n)[] array columns (pgplex#420) (pgplex#438)

Co-authored-by: vytautas.karpavicius <vytautas.karpavicius@cloudkitchens.com>

* chore: bump 1.9.0 to 1.10.0

---------

Co-authored-by: William Chen <william_w_chen@trendmicro.com>
Co-authored-by: Guillaume Lecomte <guillaume86@gmail.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Vytautas <vycas0@gmail.com>
Co-authored-by: vytautas.karpavicius <vytautas.karpavicius@cloudkitchens.com>
Co-authored-by: Tianzhou <t@bytebase.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants